<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>GW-BASIC</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/GW-BASIC"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-GW-BASIC rootpage-GW-BASIC skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">GW-BASIC</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><table class="float-right infobox toccolours toptextcells" style="border-spacing:5px; font-size:90%; text-align:left; width:21em;">
<tbody><tr>
<th colspan="2" class="hintergrundfarbe6" style="font-size:105%; text-align:center;">GW-BASIC
</th></tr>
<tr>
<th colspan="2" class="hintergrundfarbe5" style="font-size:105%; text-align:center;">Basisdaten
<p class="mw-empty-elt">
</p>
</th></tr>
<tr>
<td><b><a href="Softwareentwickler" title="Softwareentwickler">Entwickler</a></b>
</td>
<td><a href="Microsoft" title="Microsoft">Microsoft Corporation</a>
</td></tr>
<tr>
<td><b>Erscheinungsjahr</b>
</td>
<td><span class="wikidata-content">1983</span>
</td></tr>
<tr>
<td><b>Aktuelle <a href="Version_(Software)" title="Version (Software)">Version</a></b>
</td>
<td>3.23 <br> (1988)
</td></tr>
<tr>
<td><b><a href="Betriebssystem" title="Betriebssystem">Betriebssystem</a></b>
</td>
<td><a href="MS-DOS" title="MS-DOS">MS-DOS</a>
</td></tr>
<tr>
<td><b>Kategorie</b>
</td>
<td><a href="BASIC" title="BASIC">BASIC</a>-Interpreter und <a href="Integrierte_Entwicklungsumgebung" title="Integrierte Entwicklungsumgebung">Entwicklungsumgebung</a>
</td></tr>
<tr>
<td><b>Lizenz</b>
</td>
<td><a href="Propriet%C3%A4re_Software" title="Proprietäre Software">proprietär</a> (<a href="Intel_8088" title="Intel 8088">8088</a>: <a href="MIT-Lizenz" title="MIT-Lizenz">MIT-Lizenz</a>)<sup id="cite_ref-ms-devblog_commandline_microsoft-open-sources-gw-basic_1-0" class="reference"><a href="#cite_note-ms-devblog_commandline_microsoft-open-sources-gw-basic-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-heiseonline_4726428_2-0" class="reference"><a href="#cite_note-heiseonline_4726428-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</td></tr>
<tr>
<td><b><a href="Lokalisierung_(Softwareentwicklung)" title="Lokalisierung (Softwareentwicklung)">deutschsprachig</a></b>
</td>
<td>nein
</td></tr></tbody></table>
<p><b>GW-BASIC</b> ist ein <a href="Interpreter" title="Interpreter">Interpreter</a> für die <a href="Programmiersprache" title="Programmiersprache">Programmiersprache</a> <a href="BASIC" title="BASIC">BASIC</a> des Unternehmens <a href="Microsoft" title="Microsoft">Microsoft</a>. Es wurde für die ersten <a href="IBM-PC-kompatibler_Computer" title="IBM-PC-kompatibler Computer">IBM-kompatiblen</a>, aber nicht direkt von IBM hergestellten <a href="Personal_Computer" title="Personal Computer">PC</a> entwickelt. Zwischen 1983 und 1991 wurde es als Bestandteil des <a href="Betriebssystem" title="Betriebssystem">Betriebssystems</a> <a href="MS-DOS" title="MS-DOS">MS-DOS</a> bis Version 4.02 vertrieben, danach von <a href="QBasic" title="QBasic">QBasic</a> und dem aufwendigeren Programmpaket <a href="QuickBASIC" title="QuickBASIC">QuickBASIC</a> ersetzt.
</p><p>Die <a href="Assemblersprache" title="Assemblersprache">Assembler</a>-<a href="Quelltext" title="Quelltext">Quelltexte</a> der <a href="Intel_8088" title="Intel 8088">8088</a>-<a href="Portierung_(Software)" title="Portierung (Software)">Portierung</a> für MS-DOS von 1983 wurden am 22. Mai 2020 unter der <a href="MIT-Lizenz" title="MIT-Lizenz">MIT-Lizenz</a> veröffentlicht.<sup id="cite_ref-heiseonline_4726428_2-1" class="reference"><a href="#cite_note-heiseonline_4726428-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Gedacht ist der auf <a href="GitHub" title="GitHub">GitHub</a> einsehbare Quelltext für Ausbildungszwecke und um historische Einsichten zu ermöglichen.<sup id="cite_ref-ms-devblog_commandline_microsoft-open-sources-gw-basic_1-1" class="reference"><a href="#cite_note-ms-devblog_commandline_microsoft-open-sources-gw-basic-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Geschichte">Geschichte</h2></div>
<p><a href="BASIC" title="BASIC">BASIC</a> war die erste Programmiersprache für den 1981 erschienenen <a href="IBM_Personal_Computer" title="IBM Personal Computer">IBM PC</a>. Dieser verfügte (wie viele <a href="Heimcomputer" title="Heimcomputer">Heimcomputer</a> jener Zeit) über einen BASIC-<a href="Interpreter" title="Interpreter">Interpreter</a> im <a href="Festwertspeicher" title="Festwertspeicher">ROM</a> namens <span lang="en"><a href="IBM_Cassette_BASIC" title="IBM Cassette BASIC">Cassette BASIC</a></span>. Dieses ROM-BASIC wurde gestartet, wenn beim <a href="Booten" title="Booten">Booten</a> des Rechners kein Betriebssystem gefunden wurde. Es war jedoch nicht möglich, von einem auf dem PC gestarteten Betriebssystem aus auf das BASIC zuzugreifen. Daher entwickelte Microsoft mit <a href="BASICA" title="BASICA">BASICA</a> (für „<span lang="en">Advanded BASIC</span>“) einen Interpreter für <a href="PC-kompatibles_DOS" title="PC-kompatibles DOS">DOS</a>, der auf IBM PCs das BASIC im ROM nutzbar macht und um einige fehlende Funktionen für den Diskettenzugriff erweitert. IBM integrierte den Befehl <code>BASICA</code> anschließend in PC DOS. <span lang="en">Cassette BASIC</span> war exklusiv für die Firma IBM lizenziert, sodass <span lang="en">Advanced BASIC</span> auf <a href="IBM-PC-kompatibler_Computer" title="IBM-PC-kompatibler Computer">IBM-PC-kompatiblen Computern</a>, die kein ROM-BASIC besitzen, nicht funktioniert.
</p><p>Im Laufe der 1980er Jahre kamen IBM-PC-kompatible Computer anderer Hersteller auf den Markt, die oft <a href="MS-DOS" title="MS-DOS">MS-DOS</a> (großteils identisch mit PC DOS) als Betriebssystem nutzten. Für diese Klone lizenzierte Microsoft MS-DOS und verkaufte an interessierte Anwender direkt GW-BASIC, welches nicht auf dem ROM-BASIC-Interpreter angewiesen ist, auf Diskette. Bald darauf lizenzierten auch einige <a href="Erstausr%C3%BCster" title="Erstausrüster">Erstausrüster</a> von „IBM-PC-Kompatiblen“ GW-BASIC, sodass deren Systeme mit bereits vorinstalliertem zum IBM PC kompatiblem BASIC ausgeliefert werden konnten, denn BASICA und GW-BASIC sind vollständig kompatible BASIC-Dialekte, wobei GW-BASIC auf jedem PC-kompatiblen Rechner unter DOS läuft.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> Dabei handelt es sich im Wesentlichen um eine direkte <a href="Portierung_(Software)" title="Portierung (Software)">Portierung</a> von Microsofts <a href="MBASIC" title="MBASIC">MBASIC</a> (auch bekannt als BASIC-80) auf den <a href="IBM-PC-kompatibler_Computer#PC_als_Plattform" title="IBM-PC-kompatibler Computer">IBM PC</a> – MBASIC war für <a href="Intel_8080" title="Intel 8080">8080</a>/<a href="Zilog_Z80" title="Zilog Z80">Z80</a>-Rechner geschrieben worden und lag seinerseits bereits den meisten Erstausrüster-Systemen mit <a href="CP/M" title="CP/M">CP/M</a> bei.
</p><p>Die Verfügbarkeit als Teil von MS-DOS, die oft per Vorinstallation einer OEM-Version von DOS ohne Zusatzkosten gegeben war, förderte in kleinen Unternehmen die Entstehung vielfältiger Programme in GW-BASIC – bis hin zu „ausgewachsenen“ Datenbanksystemen, ähnlich wie später kleinere Applikationen in <a href="Visual_Basic_for_Applications" title="Visual Basic for Applications">Visual Basic for Applications</a> geschrieben wurden. Ab ca. 1985 wurde Microsoft BASIC (MBASIC, BASICA, GW-BASIC) in seiner Bedeutung von <a href="Turbo_Pascal" title="Turbo Pascal">Turbo Pascal</a> der Firma <a href="Borland" title="Borland">Borland</a> verdrängt.
</p><p>Am <a href="21._Mai" title="21. Mai">21. Mai</a> <a href="2020" title="2020">2020</a> hat Microsoft GW-BASIC Version 1.0, wegen seiner historischen Relevanz und zu Bildungszwecken, als <a href="Open_Source" title="Open Source">Open Source</a> freigegeben, womit es nunmehr unter der <a href="MIT-Lizenz" title="MIT-Lizenz">MIT-Lizenz</a> frei zur Verfügung steht.<sup id="cite_ref-heiseonline_4726428_2-2" class="reference"><a href="#cite_note-heiseonline_4726428-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Namensgebung">Namensgebung</h2></div>
<p>Der Ursprung des Namens „GW-BASIC“ ist unklar. Die Initialen „GW“ könnten nach Greg Whitten, einem frühen Microsoft-Angestellten, der auch für Standards bei Microsoft-BASIC-Compilern zuständig war, gewählt sein. Whitten schreibt die Namenswahl Microsoft-Gründer <a href="Bill_Gates" title="Bill Gates">Bill Gates</a> zu und gibt als Ursprung den englischen Ausruf <i>gee whiz!</i> (zu deutsch etwa „Potz Blitz!“) an. Diese Erläuterung taucht angeblich auch im <i>Microsoft User Manual</i> der Microsoft Press auf. Eine weitere verbreitete Erklärung geht davon aus, dass es sich bei den Initialen GW um Abkürzung für <i>Graphics and Windows</i> handelt, da GW-BASIC neue Befehle für Grafikroutinen und grundlegende Fensterunterstützung mitbrachte. Andere vermuten, dass der Name GW-Basic von den (vertauschten) Initialen von Bill Gates’ vollständigem Namen <i>William „Bill“ Gates</i> stammen, der Microsofts ersten BASIC-Interpreter selbst programmiert hatte.
</p>
<div class="mw-heading mw-heading2"><h2 id="Entwicklungsumgebung">Entwicklungsumgebung</h2></div>
<p>GW-BASIC hat wie das originale BASIC aus dem <a href="Dartmouth_College" title="Dartmouth College">Dartmouth College</a> eine <a href="Kommandozeile" title="Kommandozeile">kommandobasierte</a> <a href="Integrierte_Entwicklungsumgebung" title="Integrierte Entwicklungsumgebung">Entwicklungsumgebung</a>. Programmzeilen müssen mit Zeilennummern beginnen. Eingaben ohne Zeilennummer werden direkt ausgeführt. Mittels <code>LOAD</code> und <code>SAVE</code> können BASIC-Programme geladen und gespeichert werden. Als Dateiformate können ein <a href="Bytecode" title="Bytecode">Bytecode</a>- als auch das <a href="ASCII" class="mw-redirect" title="ASCII">ASCII</a>-Format verwendet werden. <code>LIST</code> zeigt das aktuelle Programm an, <code>NEW</code> löscht den aktuellen Programmspeicher. <code>RENUM</code> erlaubt die Neuzuweisung von Programmzeilen. Zur Fehlersuche kann man mittels <code>STOP</code> im Programm <a href="Haltepunkt" title="Haltepunkt">Haltepunkte</a> setzen, wobei die Ausführung mit <code>CONT</code> fortgesetzt werden kann. Zur <a href="Ablaufverfolgung" title="Ablaufverfolgung">Ablaufverfolgung</a> können die Befehle <code>TRON</code> und <code>TROFF</code> verwendet werden. <code>SYSTEM</code> beendet den Interpreter und kehrt zum Betriebssystem zurück. Viele dieser Anweisungen zur Programmerstellung und Fehlersuche können über die <a href="Funktionstaste" class="mw-redirect" title="Funktionstaste">Funktionstasten</a> <kbd style="background: #F7F7F7; color: #202122; background-image:linear-gradient(rgba(255,255,255,.4),rgba(127,127,127,.2)); border-color:#DDDDDD #AAAAAA #888888 #CCCCCC; border-radius:2px; border-style:solid; border-width:1px; font-family:inherit; padding:0 .4em; text-shadow:0 1px rgba(255,255,255,.2); white-space:nowrap;">F1</kbd> bis <kbd style="background: #F7F7F7; color: #202122; background-image:linear-gradient(rgba(255,255,255,.4),rgba(127,127,127,.2)); border-color:#DDDDDD #AAAAAA #888888 #CCCCCC; border-radius:2px; border-style:solid; border-width:1px; font-family:inherit; padding:0 .4em; text-shadow:0 1px rgba(255,255,255,.2); white-space:nowrap;">F10</kbd> aufgerufen werden. Eine Neubelegung dieser Tasten ist mit der Anweisung <code>KEY</code> möglich.
</p><p>Als Interpreter erzeugt GW-BASIC keine unabhängig ausführbaren Programmdateien. In dieser Sprache geschriebene Programme sind zusammen mit dem Interpreter zu starten. Von Microsoft wurde daher später der BASIC-Compiler <a href="BASCOM_(Microsoft)" title="BASCOM (Microsoft)">BASCOM</a> angeboten.
</p>
<div class="mw-heading mw-heading2"><h2 id="Sprachaufbau">Sprachaufbau</h2></div>
<p>Der <a href="Datentyp" title="Datentyp">Datentyp</a> von <a href="Variable_(Programmierung)" title="Variable (Programmierung)">Variablen</a> wird in GW-BASIC wie in vielen BASIC-Dialekten durch Typenzeichen festgelegt, die an den Variablennamen angehängt werden. <code>A$</code> ist eine <a href="Zeichenkette" title="Zeichenkette">Zeichenkette</a>, <code>A%</code> ist eine <a href="Integer_(Datentyp)" title="Integer (Datentyp)">ganze Zahl</a>, <code>A!</code> und <code>A#</code> sind <a href="Gleitkommazahl" title="Gleitkommazahl">Gleitkommazahlen</a> mit einfacher bzw. doppelter Genauigkeit. Fehlt das Typenzeichen, so wird eine Gleitkommazahl einfacher Genauigkeit angenommen. Durch Anweisungen <code>DEFINT</code>, <code>DEFSTR</code> usw. kann festgelegt werden, dass alle Variablen, deren Name mit einem bestimmten Zeichen beginnt, einen bestimmten <a href="Variablentyp" class="mw-redirect" title="Variablentyp">Variablentyp</a> haben, so dass auf das Typenzeichen verzichtet werden kann.
</p><p>GW-BASIC erzwingt keine <a href="Strukturierte_Programmierung" title="Strukturierte Programmierung">Strukturierte Programmierung</a>. Der Programmablauf kann mittels der <a href="Sprunganweisung" title="Sprunganweisung">Sprunganweisung</a> <code>GOTO</code> bestimmt werden. <a href="Unterprogramm" title="Unterprogramm">Unterprogramme</a> können mittels <code>GOSUB/RETURN</code> aufgerufen werden. Die <a href="Bedingte_Anweisung" class="mw-redirect" title="Bedingte Anweisung">bedingten Anweisungen</a> <code>IF/THEN/ELSE</code> müssen in einer Zeile geschrieben werden. Die <a href="Anweisung_(Programmierung)" title="Anweisung (Programmierung)">Anweisungen</a> <code>WHILE/WEND</code> und <code>FOR/NEXT</code> können über mehrere Programmzeilen gehen. <a href="Funktion_(Programmierung)" title="Funktion (Programmierung)">Funktionen</a> können mit der Anweisung <code>DEF FN</code> definiert werden, wobei die Definition jeweils in eine einzige Zeile passen muss, z. B. <code>DEF FNLOG(basis,nummer)=LOG(nummer)/LOG(basis)</code>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Merkmale">Merkmale</h2></div>
<p>GW-BASIC kann Dateien, <a href="Line_Printing_Terminal" class="mw-redirect" title="Line Printing Terminal">parallele Schnittstellen</a> und <a href="RS-232" title="RS-232">serielle Schnittstellen</a> lesen und schreiben. Als Eingabegeräte werden neben der Tastatur auch analoge <a href="Joystick" title="Joystick">Joysticks</a> und <a href="Lichtgriffel" title="Lichtgriffel">Lichtgriffel</a> unterstützt, nicht aber <a href="Maus_(Computer)" class="mw-redirect" title="Maus (Computer)">Mäuse</a>, da diese zur Zeit der Entwicklung von GW-BASIC auf IBM-kompatiblen PCs noch wenig verbreitet waren und häufig zueinander inkompatible Treiber verwendeten. Zur maschinennahen Programmierung können in <a href="Maschinencode" class="mw-redirect" title="Maschinencode">Maschinencode</a> geschriebene Unterprogramme eingebunden werden, die durch <code>CALL</code> aufgerufen werden. Der gesamte unter MS-DOS verfügbare <a href="Adressraum" title="Adressraum">Adressraum</a> kann sowohl gelesen als auch geschrieben werden; der Zugriff kann dabei sowohl byte-weise (mittels <code>PEEK</code> und <code>POKE</code>) als auch seitenweise (mittels <code>BLOAD</code> und <code>BSAVE</code>) erfolgen. Portzugriffe auf interne <a href="Schnittstelle" title="Schnittstelle">Schnittstellen</a> erfolgen mittels <code>INP</code> und <code>OUT</code>.
</p><p>Mittels der Konstruktion <code>ON ... GOTO/GOSUB</code> bietet GW-BASIC eine Möglichkeit zum <a href="Interrupt" title="Interrupt">Interrupt</a>-gesteuerten Programmablauf. Unterbrechungen können hierbei z. B. durch einen Tastendruck, ein Signal der seriellen Schnittstelle oder den Ablauf einer festgelegten Zeitspanne ausgelöst werden.
</p><p>Die Programmiersprache unterstützt <a href="Color_Graphics_Adapter" title="Color Graphics Adapter">CGA</a>- als auch <a href="Enhanced_Graphics_Adapter" title="Enhanced Graphics Adapter">EGA</a>-Grafik. <a href="Video_Graphics_Array" title="Video Graphics Array">VGA</a> Grafikmodi werden in GW-Basic noch nicht unterstützt. Auch höhere Grafikanweisungen wie <code>LINE</code>, <code>PAINT</code> oder <code>CIRCLE</code> stehen zur Verfügung. Einzelne Punkte können mit <code>PSET</code> eingefärbt und der Farbwert mit <code>POINT</code> wieder ausgelesen werden. <a href="Windows_Bitmap" title="Windows Bitmap">Bitmaps</a> können mittels <code>GET</code> und <code>PUT</code> gelesen und geschrieben werden.
</p><p>Mit der <code>PLAY</code>-Anweisung kann der PC-Lautsprecher einstimmige Melodien abspielen, wobei Noten als <a href="Zeichenkette" title="Zeichenkette">Zeichenkette</a> angegeben werden (z. B. <code>PLAY "edcdeee2dfedc4"</code>). Ein Zugriff auf niedrigerer Ebene ist mit der <code>SOUND</code>-Anweisung möglich. Dabei wird die Frequenz in <a href="Hertz_(Einheit)" title="Hertz (Einheit)">Hertz</a> und die Länge in 'clock ticks' für den <a href="Systemlautsprecher" title="Systemlautsprecher">Systemlautsprecher</a> angegeben.
</p>
<div class="mw-heading mw-heading2"><h2 id="Grenzen">Grenzen</h2></div>
<p>Eine Hürde für die Verwendung von GW-BASIC für größere Anwendungen besteht darin, dass der verfügbare Speicher auf 64 KB begrenzt ist. In diesen Speicherraum müssen Daten als auch Programmcode untergebracht werden. Diese Einschränkung kann nur bedingt durch die <a href="Overlay_(Programmierung)" title="Overlay (Programmierung)">Overlay-Technik</a> ausgeglichen werden, die mittels der Anweisungen <code>CHAIN</code> und <code>MERGE</code> zur Verfügung gestellt wird. Auch die nur rudimentäre Unterstützung strukturierter Programmierung erschwert die Wartung größerer Programme, weswegen die Sprache für größere Anwendungen nur wenig geeignet ist.
Da weder Mausunterstützung vorliegt noch moderne Grafik- oder Soundkarten unterstützt werden, ist die Programmierung optisch zeitgemäßer Anwendungen kaum möglich.
</p>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://www.antonis.de/qbebooks/index.htm#gwbasman">GW-BASIC-Manual als E-Book</a></li>
<li><a rel="nofollow" class="external text" href="https://archive.org/details/gwbasic.exe">GW-BASIC 3.23 (1988) in der Archive.org-Software-Bibliothek</a></li>
<li><a rel="nofollow" class="external text" href="https://github.com/microsoft/GW-BASIC">Microsofts veröffentlichte GW-BASIC-Quelltexte</a> der 8088-Portierung in Assemblersprache; die Quelltexte stammen vom 10. Februar 1983 und laufen u. a. auf MS-DOS 1.25 und 2.00.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-ms-devblog_commandline_microsoft-open-sources-gw-basic-1"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-ms-devblog_commandline_microsoft-open-sources-gw-basic_1-0">a</a></sup> <sup><a href="#cite_ref-ms-devblog_commandline_microsoft-open-sources-gw-basic_1-1">b</a></sup></span> <span class="reference-text"><span class="cite">Rich Turner: <a rel="nofollow" class="external text" href="https://devblogs.microsoft.com/commandline/microsoft-open-sources-gw-basic/"><i>Microsoft Open-Sources GW-BASIC.</i></a> In: <i>Microsoft Developer Blogs - Windows Command Line.</i> Microsoft, 21. Mai 2020,<span class="Abrufdatum"> abgerufen am 22. Mai 2020</span> (englisch): „These sources, as clearly stated in the repo’s readme, are the 8088 assembly language sources from 10th Feb 1983, and are being open-sourced for historical reference and educational purposes. … Many have asked if we can also open-source implementations for processors other than the 808x. Alas, we’re unable to provide sources for these ports and/or customizations.“</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3AGW-BASIC&rft.title=Microsoft+Open-Sources+GW-BASIC&rft.description=Microsoft+Open-Sources+GW-BASIC&rft.identifier=https%3A%2F%2Fdevblogs.microsoft.com%2Fcommandline%2Fmicrosoft-open-sources-gw-basic%2F&rft.creator=Rich+Turner&rft.publisher=Microsoft&rft.date=2020-05-21&rft.language=en"> </span></span>
</li>
<li id="cite_note-heiseonline_4726428-2"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-heiseonline_4726428_2-0">a</a></sup> <sup><a href="#cite_ref-heiseonline_4726428_2-1">b</a></sup> <sup><a href="#cite_ref-heiseonline_4726428_2-2">c</a></sup></span> <span class="reference-text">Alexander Neumann: <a rel="nofollow" class="external text" href="https://heise.de/-4726428"><span style="font-style:italic;">Microsoft legt Sourcen für GW-BASIC-Interpreter offen.</span></a> In: <i><a href="Heise_online" title="Heise online">Heise online</a>.</i> <span style="white-space:nowrap;">22. Mai 2020</span>. Abgerufen am 22. Mai 2020.</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text">Stuart R. Greenberg: <cite class="lang" lang="en" dir="auto" style="font-style:italic">Languages – BASIC, Yes; Feeble, No: GW-BASIC and BASICA</cite>. In: <cite class="lang" lang="en" dir="auto" style="font-style:italic"><a href="PC_Magazine" title="PC Magazine">PC Magazine</a></cite>. <span style="white-space:nowrap">Band<span style="display:inline-block;width:.2em"> </span>8</span>, <span style="white-space:nowrap">Nr.<span style="display:inline-block;width:.2em"> </span>18</span>. <a href="Ziff_Davis" title="Ziff Davis">Ziff Davis</a>, 31. Oktober 1989, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em"> </span>202</span> (englisch, <a rel="nofollow" class="external text" href="https://books.google.de/books?id=HXDkCoqMiVIC&pg=RA11-PA4">eingeschränkte Vorschau</a> in der Google-Buchsuche): <span class="lang" lang="en" dir="auto">“Microsoft’s generic interpreter, GW-BASIC (included with most MS-DOS versions), and IBM’s version, BASICA (included with PC-DOS), are essentially the same program.”</span><span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rfr_id=info:sid/de.wikipedia.org:GW-BASIC&rft.atitle=Languages+-+BASIC%2C+Yes%3B+Feeble%2C+No%3A+GW-BASIC+and+BASICA&rft.au=Stuart+R.+Greenberg&rft.date=1989-10-31&rft.genre=journal&rft.issue=18&rft.jtitle=PC+Magazine&rft.pages=202&rft.pub=Ziff+Davis&rft.volume=8" style="display:none"> </span></span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2024-10-12" href="https://de.wikipedia.org/wiki/?title=GW-BASIC&oldid=249349760">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>